package ctrl;

import uebung01.Aufgabe01;
import uebung01.Aufgabe02;
import uebung02_w.Aufgabe03_w;
import uebung02_w.Aufgabe04_w;
import uebung03.KLT02;
import uebung03.VanishingPoint;
import uebung04_h.Harris02;
import uebung04_h.SurfTester;
import uebung04_h.Surfy;
import uebung06_h.ForceModel;
import uebung07_h.Guttenberg02;
import uebung08.Hough02;
import uebung08.Hough03;

public class Launcher {
	public static void main(String[] args) {
		if (args.length==0) {
			System.out.println("usage : java -jar CV.jar <NUMBER>");
			System.exit(0);
		}
		
		int number = Integer.parseInt(args[0]);
		
		String[] arguments = new String[args.length-1];
		
		System.arraycopy(args, 1, arguments, 0, arguments.length);

		switch (number) {
			case 1:
				Aufgabe01.main(arguments);	
				break;
			case 2: 
				Aufgabe02.main(arguments);
				break;
			case 3: 
				Aufgabe03_w.main(arguments);
				break;
			case 4: 
				Aufgabe04_w.main(arguments);
				break;
			case 5: try {
				KLT02.main(arguments);
			}
			catch (Exception e) {
				e.printStackTrace();
			}
			break;
			case 6: try {
				KLT02.main(arguments);
			}
			catch (Exception e) {
				e.printStackTrace();
			}
			break;
			case 7: 
				VanishingPoint.main(arguments);
				break;
			case 8: 
				Harris02.main(arguments);
				break;
			case 9:
				try {
					SurfTester.main(arguments);
				}
				catch (Exception e) {
					e.printStackTrace();
				}
				
				Surfy.main(arguments);
				break;
			case 11:
				uebung06_h.FieldModel.main(arguments);
				ForceModel.main(arguments);
				break;
			case 14: 
				try {
					Guttenberg02.main(arguments);
				}
				catch (Exception e) {
					e.printStackTrace();
				}
				break;
			case 16 : {
				Hough02.main(arguments);
				break;
			}
			case 17 : {
				Hough03.main(arguments);
				break;
			}
			default :
				System.out.println("Bitte Aufgabennummer mit angeben!");
				break;
		}
	}
}
